package com.rimi.dao;

import com.rimi.bean.UserBean;

import java.util.List;

/**
 * @author jerry
 */
public interface UserDao {

    /**
     * 查询所有的用户信息
     * @return
     */
    List<UserBean> selectUserList();

    /**
     * 添加用户
     * @param userBean
     * @return
     */
    boolean addUser(UserBean userBean);

    /**
     * 根据ID进行修改
     * @param userBean
     * @return
     */
    boolean updateUserById(UserBean userBean);

    /**
     * 根据ID进行删除
     * @param id
     * @return
     */
    boolean deleteUserById(Integer id);


    /**
     * 根据ID进行范围删除
     * @param ids
     * @return
     */
    boolean deleteUserByIds(List<Integer> ids);

    /**
     * 使用邮件查询用户数据
     */
    UserBean selectUserByEmail(String email);

    /**
     * 通过ID查询用户数据
     * @param id 主键
     * @return
     *  用户对象
     */
    UserBean selectUserById(Integer id);


    /**
     * 通过token获取用户信息
     * @param token
     * @return
     * 用户信息
     */
    UserBean selectUserByToken(String token);


    /**
     * 根据用户ID 保存token
     * @param userId 用户ID
     * @param token token信息
     * @return
     *  添加是否成功
     */
    boolean addTokenById(Integer userId, String token);


    /**
     * 根据用户ID修改token信息
     * @param userId 用户ID
     * @return
     * 是否操作成功
     */
    boolean updateTokenByUserId(Integer userId);
}
